In a storage system that utilizes an array of disk drives for storing data, data is generally evenly distributed across the disk drives, assuming the disk drives are identical in terms of performance. In the stable state all the disk drives are loaded with an equal number of requests. If some of the disk drives are working even slightly slower than the others, the response time of requests sent to the slow disk drives is substantially elevated. When the entire system works at its higher but still supportable levels of workload, even if one disk drive is working slightly slower than others, an increased response time for some of the I/O requests can be observed, which eventually leads to timeout of requests at the hosts that send the requests and waiting for responses.
Large read queue of requests waiting for a disk drive can also be the result of non-uniform distribution of requests across the disk drives. For example by placing newly created data on some of the disk drives. While these cases should be avoided in the data distribution algorithm, it cannot be totally prevented and even a small bias in the distribution can cause accumulation of requests on some of the read queues.
Read requests are accumulated on slower disk drives, causing delays in response time, when implementing uniform distribution of requests across disk drives.
There is a growing need to provide a system, method and a computer readable medium for reducing the effect of unevenly loaded disk drives.